package top.lyjwn.todo.webSocket.service;

import top.lyjwn.todo.common.template.Paging;
import top.lyjwn.todo.common.template.R;
import top.lyjwn.todo.webSocket.data.Message;

/**
 * WebSocket 消息服务
 *
 * @author luoyujie
 */
public interface WebSocketMessageService {

    /**
     * 记录消息
     *
     * @param message
     * @return
     */
    R save(Message message);

    /**
     * 消息已读
     *
     * @param id
     * @return
     */
    R read(String id);

    /**
     * @param myUserId       我的用户id
     * @param oppositeUserId 对方的用户id
     * @param paging
     * @return
     */
    R<Message> findMyChatWithSomeone(String myUserId, String oppositeUserId, Paging paging);


    /**
     * 收到消息回调事件
     *
     * @param message
     * @return 返回false时，系统不会进行消息转发。
     */
    boolean onMessage(Message message);
}
